package com.zmj.sy.mom.srv.aps.bean.vo.mbd.plan;


import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;

@Getter
@Setter
public class MbdPlanMonthlyResVo {

    private Integer orderId;

    @ApiModelProperty("施工号")
    private String constructNo;

    @ApiModelProperty("架型")
    private String frameType;

    @ApiModelProperty("策划月份")
    private String plannedMonth;

    @ApiModelProperty("待排产顺序")
    private Integer seq;

    @ApiModelProperty("部件名称")
    private String materName;

    @ApiModelProperty("工序")
    private List<PhaseData> processInfoList = new ArrayList<>();

    @Getter
    @Setter
    public static class PhaseData {

        @ApiModelProperty("工序名称")
        private String process;

        @ApiModelProperty("单架吨位")
        private BigDecimal unitWeight;

        @ApiModelProperty("计划吨位")
        private BigDecimal planWeight;

        @ApiModelProperty("总数量")
        private BigDecimal totalCount;

        @ApiModelProperty("计划数量")
        private BigDecimal planCount;

        @ApiModelProperty("完成数量")
        private BigDecimal finishCount;

        @ApiModelProperty("剩余数量")
        private BigDecimal todoCount;

        @ApiModelProperty("达成率")
        private BigDecimal planFinishRate;

        @ApiModelProperty("日历详情")
        private List<DayData> dateQuantityList = new ArrayList<>();

    }

    @Getter
    @Setter
    public static class DayData {

        @ApiModelProperty("日期")
        private LocalDate date;

        @ApiModelProperty("数量")
        private Integer quantity;

        @ApiModelProperty("已完成数量")
        private Integer finishCount;

    }

}
